package cn.embeddedKey.method2;

import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;


public interface UserRepository2 extends JpaRepository<UserEntity2, UserEntityID2> {


    /**
     * 下面定义 findBy 语句时，不要再写成下面这两行，因为会映射不到主键中的属性报错
     * List<UserEntity2> findByUserName(String username);
     * List<UserEntity2> getByUserName(String username);
     * <p>
     * 正确写法如下，规则为 findBy主键名主键属性And主键名主键属性
     * 本例中，主键名为 ids(见实体 UserEntity2 中 @EmbeddedId 注解标注的属性)
     * 属性名为 userName 和 userPhone (见 UserEntityID2 类中的属性)
     */
    List<UserEntity2> findByIdsUserName(String userName); // 根据一个主键属性查

    UserEntity2 findByIdsUserNameAndIdsUserPhone(String userName, String userPhone); // 根据两个主键属性查

    List<UserEntity2> findByUserAgeAndUserAddress(Integer age, String address); // 根据普通属性查

}
